class milk:

    def desc(self):
        return

    def price(self):
        return 0


class Decorate(milk):

    def __init__(self, milk):
        self.milk = milk

    def desc(self):
        return

    def price(self):
        return 0


class mx(milk):

    def desc(self):
        return '蜜雪冰城'

    def price(self):
        return 10


class ice(Decorate):

    def desc(self):
        return self.milk.desc() + "加冰"

    def price(self):
        return self.milk.price() + 10.2


class pudding(Decorate):
    def __init__(self, milk):
        super().__init__(milk)  # 调用父类的构造函数

    def desc(self):
        return self.milk.desc() + "加补丁"

    def price(self):
        return self.milk.price() + 1


if __name__ == "__main__":
    milk = mx()
    milk = ice(milk)
    milk = pudding(milk)
    print(milk.desc())
    print(milk.price())
